package qc.module.platform.entity;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import qc.common.core.enums.QcMessageEnumClass;

import java.io.Serializable;

/**
 * QcMessageConfig
 * 消息配置表
 *
 * @author QuCheng Tech
 * @create 2023/11/03
 */
@TableName("qc_message_config")
@Data
public class QcMessageConfig implements Serializable, Cloneable {

    /**
     * 消息代码；在业务模块中调用时必须指定正确
     */
    @TableId
    private String msgCode;

    /**
     * 项目编码
     */
    private String projectCode;

    /**
     * 消息来源类型；系统平台、业务模块、用户
     */
    //private QcMessageEnumClass.srcTypeEnum srcType;

    /**
     * 消息名称；如：发布通知、提交审核通知、审核未通过通知
     */
    private String name;

    /**
     * 接收对象类型；分为：指定用户、指定接收组、所有用户
     */
    private QcMessageEnumClass.rcvTypeEnum rcvType;

    /**
     * 内容模板；消息通知内容的模板，可以根据传入的数据在模板中进行替换
     */
    private String content;

    /**
     * 重要等级；由配置定义该类型消息的重要性和优先级，重要性高的优先显示和推送
     */
    private QcMessageEnumClass.levelEnum level;

    /**
     * 时效性类型
     */
    private QcMessageEnumClass.timelyTypeEnum timelyType;

    /**
     * 通知方式类型；通知方式为组合：系统消息、短信、微信、邮件等
     */
    private QcMessageEnumClass.noticeTypeEnum noticeType;
}
